3D input apparatus and method thereof

ABSTRACT

Provided are a 3D input apparatus and method for precisely detecting a position of the 3D input apparatus. The 3D input apparatus includes a sensor package which measures a first velocity an acceleration, and an angular velocity of the 3D input apparatus in a relative body coordinate system; a posture information generating unit, which generates posture information of the 3D input apparatus using the measured acceleration and angular velocity; a velocity transformation unit, which transforms the measured first velocity into a second velocity in an absolute coordinate system using the posture information; and a position restoration unit, which determines a position of the 3D input apparatus by integrating the second velocity.

[0001] This application is based upon and claims the benefit of priorityfrom Korean Patent Application No. 2003-39124, filed on Jun. 17, 2003,in the Korean Intellectual Property Office, the disclosure of which isincorporated herein in its entirety by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The invention relates to an apparatus and method for inputtinginformation, and more particularly, to a 3D input apparatus and methodthereof for restoring a spatial position of the apparatus.

[0004] 2. Description of the Related Art

[0005] Conventionally, an input apparatus including a 2-dimensionalsensor array, such as an LCD tablet or a digitizer table, has beenwidely used to input handwritten data using a pen into a personalportable terminal or a computer appliance. Such an input apparatusrequires an additional sensing plane surface where a large 2-dimensionalsensor array is disposed. Thus, the input apparatus not only occupies apredetermined space, but is also inconvenient for carrying, and veryexpensive.

[0006] Recently, there has been an increased demand for small-sizedpersonal portable terminals, and watch-type or purse-type portableterminals have been developed. Due to this growing tendency to scaledown portable terminals, display screens have also been scaled down.Thus, inputting data by natural handwriting using a conventional tabletis difficult.

[0007] Accordingly, it may be effective to enable document input usingonly a single electronic pen on an ordinary plane surface, instead of ona physical tablet. That is because the single electronic pen can providea larger input space than a conventional pen input device does, andsubsequently enable natural handwriting input.

[0008] Such an electronic pen, enabling the input on the ordinary planesurface, operates in a self-movement sensing manner. To input a documentor a picture using the electronic pen, positions of the pen's tip in areference coordinate system should be obtained successively. However, inmost cases, while the electronic pen is in contact with the planesurface in a state of handwriting, it is separated from the planesurface in a state of non-handwriting or moving. Accordingly, a deviceis required for precisely measuring positions of the pen even while thepen is separated from the plane surface.

[0009] To overcome these problems, U.S. Pat. No. 5,902,968 and U.S. Pat.No. 5,981,884 disclose a method of obtaining positions of a tip of a penthat includes a 3-axis acceleration sensor and a 3-axis Gyro sensor. Inthis method, a typical inertial navigation system (INS) is applied inthe electronic pen. The 3-axis acceleration sensor, mounted on theelectronic pen, measures accelerations on the x-, y-, and z-axes, andthe 3-axis Gyro sensor measures Euler angles that are expressed as aroll angle Φ, a pitch angle Θ, and a yaw angle Ψ. Thus, a posture and anacceleration of the pen in an absolute coordinate system are measuredsuch that a user's handwriting is reproduced.

[0010] A position of the above-described electronic pen is detected bydoubly integrating the acceleration that is obtained using theacceleration sensor. Since an error obtained from the accelerationsensor is also doubly integrated, however, the positional error causedby the acceleration error greatly increases over time so that theposition of the electronic pen cannot be accurately detected.

SUMMARY OF THE INVENTION

[0011] The invention provides a 3D input apparatus and method forenabling a position of the 3D input apparatus to be precisely detectedby combining a conventional inertial navigation system (INS) with avelocity sensor.

[0012] According to an aspect of the invention, there is provided a 3Dinput apparatus for detecting input information comprising a sensorpackage measuring a first velocity an acceleration, and an angularvelocity of the 3D input apparatus in a relative body coordinate system;a posture information generating unit generating posture information ofthe 3D input apparatus using the measured acceleration and angularvelocity; a velocity transformation unit transforming the measured firstvelocity into a second velocity in an absolute coordinate system usingthe posture information; and a position restoration unit determining aposition of the 3D input apparatus by integrating the second velocity.

[0013] The velocity transformation unit may generate a direction cosinematrix using the posture information, and transform the first velocityinto the second velocity by using the direction cosine matrix.

[0014] The posture information generating unit may include an initialposture information generator, which generates initial postureinformation of the 3D input apparatus using an acceleration measuredwhile the 3D input apparatus is at rest, and a moving postureinformation generator, which generates moving posture information of the3D input apparatus using the angular velocity and the initial postureinformation.

[0015] According to another aspect of the invention, there is provided a3D input method for restoring input information. The method comprisesmeasuring a first velocity, an acceleration, and an angular velocity ofa 3D input apparatus in a relative body coordinate system; generatingposture information of the 3D input apparatus by using the measuredacceleration and angular velocity; transforming the measured firstvelocity into a second velocity of an absolute coordinate system usingthe posture information; and determining a position of the 3D inputapparatus by integrating the second velocity.

[0016] The transforming of the first velocity into the second velocitymay comprise generating a direction cosine matrix using the postureinformation and transforming the first velocity into the second velocityby using the direction cosine matrix.

[0017] The generating of the posture information may comprise generatinginitial posture information of the 3D input apparatus using anacceleration measured while the 3D input apparatus is at rest; andgenerating moving posture information of the 3D input apparatus usingthe angular velocity and the initial posture information.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above and other objects, features and advantages of theinvention will become more apparent by describing in detail exemplaryembodiments thereof with reference to the attached drawings in which:

[0019]FIG. 1A illustrates coordinate systems that are used in theinvention;

[0020]FIG. 1B illustrates a 3D input apparatus with various sensorsaccording to the invention;

[0021]FIG. 2 is a block diagram of a 3D input apparatus according to anexemplary embodiment of the invention;

[0022]FIGS. 3A through 3E illustrate a process of transforming a bodycoordinate system into an absolute coordinate system using Euler angles;and

[0023]FIG. 4 is a flowchart illustrating a 3D input method according toan exemplary embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0024] The invention will now be described more fully with reference tothe accompanying drawings, in which exemplary embodiments of theinvention are shown. The described exemplary embodiments are intended toassist the understanding of the invention, and are not intended to limitthe scope of the invention in any way.

[0025]FIG. 1A illustrates coordinate systems that are used in theinvention, and FIG. 1B illustrates a 3D input apparatus with varioussensors according to the invention.

[0026] Referring to FIG. 1A, coordinate systems that are used in theinvention are classified into an absolute coordinate system and a bodycoordinate system. The absolute coordinate system is a Cartesiancoordinate system with the x-, y- and z- axes that are perpendicular toone another. Here, a gravitational field is directed along the z-axis ofthe absolute coordinate system. The body coordinate system is anotherCartesian coordinate system with one axis directed along a predetermineddirection of the 3D input apparatus. For example, as shown in FIGS. 1Aand 1B, the z-axis of the body coordinate system may be directed along adirection of a nib of the 3D input apparatus 100.

[0027]FIG. 2 is a block diagram of a 3D input apparatus according to theinvention. The 3D input apparatus 100 includes a velocity sensor 200, anacceleration sensor 210, and an angular velocity sensor 220. Thevelocity sensor 200, the acceleration sensor 210, and the angularvelocity sensor 220 measure a velocity, an acceleration, and an angularvelocity, respectively, of the 3D input apparatus 100 that may beinduced by a movement of the 3D input apparatus 100 along axes of thebody coordinate system.

[0028] In the invention, the 3D input apparatus 100 employs as thevelocity sensor 200 an optical translation measurement sensor (OTMsensor), which measures a movement of surface relative to the sensor byusing laser technology and the Doppler effect and outputs the result asa velocity of each axis of the body coordinate system. The 3-axisacceleration sensor and the 3-axis angular velocity sensor are used asthe acceleration sensor 210 and the angular velocity sensor 220,respectively.

[0029] Also, the 3D input apparatus 100 comprises a posture informationgenerating unit 230, which generates posture information of the inputapparatus by using the measured acceleration and angular velocity. Thisposture information generating unit 230 includes an initial postureinformation generator 232 and a moving posture information generator234. The initial posture information generator 232 generates initialposture information of the 3D input apparatus 100 by using a measuredacceleration induced by the gravitational force when the 3D inputapparatus is at rest. The moving posture information generator 234generates moving posture information of the 3D input apparatus 100 byusing the angular velocity measured during the 3D input apparatus ismoving and the initial posture information.

[0030] The 3D input apparatus 100 further includes a velocitytransformation unit 240 and a position restoration unit 250. Thevelocity transformation unit 240 transforms the velocity of the bodycoordinate system, which is input from the velocity sensor 200, into avelocity of the absolute coordinate system, and the position restorationunit 250 integrates the transformed velocity of the absolute coordinatesystem and determines the position of the 3D input apparatus 100.

[0031] The posture information generating unit 230 expresses the postureinformation of the 3D input apparatus 100 using Euler angles, whichinclude a roll angle Φ, a pitch angle Θ, and a yaw angle Ψ, and outputsthe Euler angles to the velocity transformation unit 240. By using theEuler angles, the velocity transformation unit 240 transforms thevelocity of the body coordinate system, which is measured by thevelocity sensor 200, into a velocity of the absolute coordinate system.

[0032]FIGS. 3A through 3E illustrate a process of transforming a bodycoordinate system into an absolute coordinate system using Euler angles.

[0033]FIG. 3A illustrates an (x, y, z) coordinate system and an (x2, y2,z2) coordinate system whose axes are rotated relative to one another.Here, an arbitrary position or vector in space is expressed differentlyaccording to the coordinate systems. If the (x, y, z) coordinate systemis used, an arbitrary position or vector in space can be completelydescribed by a position of an origin O2 of the (x2, y2, z2) coordinatesystem measured in the (x, y, z) coordinate system, and a directioncosine matrix. Similarly, if the (x2, y2, z2) coordinate system is used,an arbitrary position or vector in space can be described by a positionof an origin O of the (x, y, z) coordinate system measured in the (x2,y2, z2) coordinate system, and the direction cosine matrix. Thedirection cosine matrix describes a relative rotation between twocoordinate systems and is expressed using Euler angles.

[0034] The direction cosine matrix and Euler angles will now bedescribed with reference to FIG. 3B. In FIG. 3B, the origins of the twocoordinate systems shown in FIG. 3A coincide with each other. Since thedirection cosine matrix describes only a relative rotation between thetwo coordinate systems and is independent of a distance between theorigins of the two coordinate systems, it can be described using FIG.3B.

[0035] The (x, y, z) coordinate system can be transformed into the (x2,y2, z2) coordinate system through a 3-operation rotationaltransformation process. Firstly, the (x, y, z) coordinate system istransformed into an (x1, y1, z1) coordinate system by rotating the (x,y, z) coordinate system by an angle of Ψ about the z-axis, as shown inFIG. 3C. This rotational transformation is given by $\begin{matrix}{\begin{bmatrix}{x1} \\{y1} \\z\end{bmatrix} = {\begin{bmatrix}{\cos \quad \psi} & {\sin \quad \psi} & 0 \\{{- \sin}\quad \psi} & {\cos \quad \psi} & 0 \\0 & 0 & 1\end{bmatrix}\begin{bmatrix}x \\y \\z\end{bmatrix}}} & (1)\end{matrix}$

[0036] where Ψ is defined as a yaw angle.

[0037] Secondly, the (x1, y1, z1) coordinate system, obtained from theyaw transformation, is transformed into a (x2, y1, z1) coordinate systemby rotating the (x1, y1, z1) coordinate system by an angle of Θ aboutthe y1-axis, as shown in FIG. 3D. This rotational transformation isgiven by $\begin{matrix}{\begin{bmatrix}{x2} \\{y1} \\{z1}\end{bmatrix} = {\begin{bmatrix}{\cos \quad \theta} & 0 & {{- \sin}\quad \theta} \\0 & 1 & 0 \\{\sin \quad \theta} & 0 & {\cos \quad \theta}\end{bmatrix}\begin{bmatrix}{x1} \\{y1} \\z\end{bmatrix}}} & (2)\end{matrix}$

[0038] where Θ is defined as a pitch angle.

[0039] Thirdly, the (x2, y1, z1) coordinate system, obtained from thepitch transformation and described in Equation 2, is transformed intothe (x2, y2, z2) coordinate system by rotating the (x2, y1, z1)coordinate system at an angle of Φ about the x2-axis, as shown in FIG.3E. This roll rotational transformation is given by $\begin{matrix}{\begin{bmatrix}{x2} \\{y2} \\{z2}\end{bmatrix} = {\begin{bmatrix}1 & 0 & 0 \\0 & {\cos \quad \varphi} & {\sin \quad \varphi} \\0 & {\sin \quad \varphi} & {\cos \quad \varphi}\end{bmatrix}\begin{bmatrix}{x2} \\{y1} \\{z1}\end{bmatrix}}} & (3)\end{matrix}$

[0040] where Φ is defined as a roll angle.

[0041] Thus, the (x2, y2, z2) coordinate system can be obtained from the(x, y, z) coordinate system using the yaw, pitch, and rolltransformations expressed in Equations 1, 2, and 3 to obtain$\begin{matrix}\begin{matrix}{\begin{bmatrix}{x2} \\{y2} \\{z2}\end{bmatrix} = {{{\begin{bmatrix}1 & 0 & 0 \\0 & {\cos \quad \varphi} & {\sin \quad \varphi} \\0 & {{- \sin}\quad \varphi} & {\cos \quad \varphi}\end{bmatrix}\begin{bmatrix}{\cos \quad \theta} & 0 & {{- \sin}\quad \theta} \\0 & 1 & 0 \\{\sin \quad \theta} & 0 & {\cos \quad \theta}\end{bmatrix}}\begin{bmatrix}{\cos \quad \psi} & {\sin \quad \psi} & 0 \\{{- \sin}\quad \psi} & {\cos \quad \psi} & 0 \\0 & 0 & 1\end{bmatrix}}\begin{bmatrix}x \\y \\z\end{bmatrix}}} \\{= {\begin{bmatrix}{\cos \quad {\psi cos}\quad \theta} & {\sin \quad {\psi cos}\quad \theta} & {{- \sin}\quad \psi} \\{{{- \sin}\quad {\psi cos}\quad \varphi} + {\cos \quad {\psi sin}\quad {\theta sin}\quad \varphi}} & {{\cos \quad {\psi cos}\quad \varphi} + {\sin \quad {\psi sin}\quad {\theta sin}\quad \varphi}} & {\cos \quad {\theta sin}\quad \varphi} \\{{\sin \quad {\psi sin}\quad \varphi} + {\cos \quad {\psi sin}\quad {\theta cos}\quad \varphi}} & {{{- \cos}\quad {\psi sin}\quad \varphi} + {\sin \quad {\psi sin}\quad {\theta cos}\quad \varphi}} & {\cos \quad {\theta cos}\quad \varphi}\end{bmatrix}\quad\begin{bmatrix}x \\y \\z\end{bmatrix}}} \\{= {C_{xyz}^{x2y2z2}\begin{bmatrix}{x2} \\y \\z\end{bmatrix}}}\end{matrix} & (3)\end{matrix}$

[0042] where C_(xyz) ^(x2y2z2) is defined as the direction cosinematrix. Here, the direction cosine matrix has the followingorthonormality:

(C _(xyz) ^(x2y2z2))^(T) C _(xyz) ^(x2y2z2) =C _(xyz) ^(x2y2z2)(C _(xyz)^(x2y2z2))^(T) =I   (5)

[0043] where ( )^(T) is a transpose of an arbitrary matrix ( ), and I isa unit matrix.

[0044] As described above, a relative rotation between two coordinatesystems can be described by the direction cosine matrix, and thedirection cosine matrix is a function of the roll, pitch, and yawangles. Therefore, by obtaining the roll, pitch, and yaw angles, therelative rotation between two coordinate systems can be described.

[0045] If the direction cosine matrix is used, an arbitrary vector v inthe (x, y, z) coordinate system can be described in the (x2, y2, z2)coordinate system given by

[v]_(x2y2z2)=C_(xyz) ^(x2y2z2)[v]_(xyz)   (6)

[0046] Here, [v]_(x2y2z2) and [v]_(xyz) are the vectors v described inthe (x, y, z) and (x2, y2, z2) coordinate systems, respectively. Thus, avelocity and an acceleration of the body coordinate system according tothe invention can be transformed into a velocity and an acceleration ofthe absolute coordinate system using the above-described directioncosine matrix.

[0047] Hereinafter, the direction cosine matrix for transforming avelocity and an acceleration of the body coordinate system into avelocity and an acceleration of the absolute coordinate system is givenby $\begin{matrix}{C_{b}^{n} = \begin{bmatrix}{\theta_{c}\psi_{c}} & {{{- \varphi_{c}}\psi_{s}} + {\varphi_{s}\theta_{s}\psi_{c}}} & {{\varphi_{s}\psi_{s}} + {\varphi_{c}\theta_{s}\psi_{c}}} \\{\theta_{c}\psi_{s}} & {{\varphi_{c}\psi_{c}} + {\varphi_{s}\theta_{s}\psi_{s}}} & {{{- \varphi_{s}}\psi_{c}} + {\varphi_{c}\theta_{s}\psi_{s}}} \\{- \theta_{s}} & {\varphi_{s}\theta_{c}} & {\varphi_{c}\theta_{c}}\end{bmatrix}} & (7)\end{matrix}$

[0048] where C_(b) ^(n) is a transpose of C_(xyz) ^(x2y2z2) expressed inEquation 4, φ_(c) and denote cos φ and sin φ, respectively. Similarly,θ_(c), θ_(s), ψ_(c), and ψ_(s) denote cos θ, sin θ, cos ψ, and sin ψ,respectively.

[0049]FIG. 4 is a flow chart illustrating a 3D input method according toan exemplary embodiment of the invention. Referring to FIG. 4, when the3D input apparatus 100 is driven, a velocity sensor 200, an accelerationsensor 210, and an angular velocity sensor 220 measure a velocity(V_(bx), V_(by), V_(bz)), an acceleration (A_(bx), A_(by), A_(bz)), andan angular velocity (ω_(bx), ω_(by), ω_(bz)) of the 3D input apparatus100, respectively, in operation S400.

[0050] In operation S410, a posture information generating unit 230receives the acceleration and the angular velocity from the accelerationsensor 210 and the angular velocity sensor 220, respectively, andgenerates posture information on a spatial position of the 3D inputapparatus 100 in the absolute coordinate system. The posture informationis expressed using Euler angles.

[0051] Specifically, while the 3D input apparatus 100 is in a stationarystate, the acceleration sensor 210 outputs a constant acceleration, dueto the gravitational force, to an initial posture information generator232. In operation S412, the initial posture information generator 232obtains pitch and roll angles of the stationary state by using arelationship between a gravitational acceleration g of the absolutecoordinate system and an output of an initial acceleration sensor givenby $\begin{matrix}{\begin{bmatrix}A_{bx} \\A_{by} \\A_{bz}\end{bmatrix} = {{{- C_{n}^{b}}{\begin{matrix}0 \\0 \\g\end{matrix}}} = {{\begin{matrix}{\sin \quad \theta} \\{{- \cos}\quad {\theta sin}\quad \varphi} \\{{- \cos}\quad \theta \quad \cos \quad \varphi}\end{matrix}}g}}} & (8)\end{matrix}$

[0052] A_(bx)=−g sin θ and A_(bx)=−g sin θ are obtained from Equation 8,and this results in the pitch and roll angles Θ and Φ given by$\begin{matrix}{{\theta = {\sin^{- 1}\frac{A_{bx}}{g}}}{\varphi = {{- \sin^{- 1}}\frac{A_{by}}{g\quad \cos \quad \theta}}}} & (9)\end{matrix}$

[0053] In operation S414, the moving posture information generator 234receives the initial posture information and the angular velocity ofeach axis from the initial posture information generator 232 and theangular velocity sensor 220, respectively, and generates moving postureinformation, which is expressed using the Euler angles.

[0054] The moving posture information generator 234 solves the followingdifferential Equation 10 by using initial pitch and roll angles and anangular velocity (ω_(bx), ω_(by), ω_(bz)) received from the angularvelocity sensor 220.

{dot over (φ)}=w _(bx)+(w _(by) sin φ+w _(bz) cos φ)tan θ

{dot over (φ)}=w _(by) con φ−w _(bz) sin φ

[0055] $\begin{matrix}{\overset{.}{\Psi} = \frac{{w_{by}\sin \quad \varphi} + {w_{bz}\cos \quad \varphi}}{\cos \quad \varphi}} & (10)\end{matrix}$

[0056] The differential Equation 10 expresses a relationship between theEuler angles and the angular velocity. The moving posture informationgenerator 234 outputs the solved result to a velocity transformationunit 240.

[0057] In operation S420, the velocity transformation unit 240 obtains adirection cosine matrix by substituting the Euler angles into Equation7, and then, according to Equation 11, transforms the velocity (V_(bx),V_(by), V_(bz)) of the body coordinate system, which is received fromthe velocity sensor 200, into a velocity (V_(nx), V_(ny), V_(nz)) of theabsolute coordinate system by using the direction cosine matrix.

P_(n) ⁻=V_(n)=C_(b) ^(n)V_(b)   (11)

[0058] The velocity transformation unit 240 then outputs the absolutevelocity (V_(nx), V_(ny), V_(nz)) to a position restoration unit 250.

[0059] The position restoration unit 250 integrates the absolutevelocity and determines a position of the 3D input apparatus 100 in theabsolute coordinate system in operation S430.

[0060] The invention can use a combination of hardware and softwarecomponents. The software can be embodied as computer readable code on acomputer readable medium. The computer readable medium is any datastorage device that can store data that can thereafter be read by acomputer system. Examples of the computer readable medium includeread-only memory, random-access memory, CD-ROMs, magnetic tape, opticaldata storage devices, and carrier waves (such as data transmissionthrough the Internet). The computer readable medium can also bedistributed over a network coupled computer system so that the computerreadable code is stored and executed in a distributed fashion.

[0061] As described above, the invention provides an inertial navigationsystem combined with a velocity sensor. Therefore, the invention canreduce positional errors caused by acceleration errors that areaccumulated over time, which occur in a conventional 3D input apparatusthat determines a position by using a double integral of a measuredacceleration.

[0062] Accordingly, the 3D input apparatus of the invention can reliablyrestore a position even if spatial information is continuously input atevery 10 seconds or more, while overcoming the restrictions of aconventional 3D input apparatus that should be stopped at every 3 to 4seconds to correct errors using zero-velocity update.

[0063] While this invention has been particularly shown and describedwith reference to exemplary embodiments thereof, it will be understoodby those skilled in the art that various changes in form and details maybe made therein without departing from the spirit and scope of theinvention as defined by the appended claims. The exemplary embodimentsshould be considered in a descriptive sense only and not for purposes oflimitation. Therefore, the scope of the invention is defined not by thedetailed description of the invention but by the appended claims, andall differences within the scope of the claims will be construed asbeing included in the invention.

What is claimed is:
 1. A 3D input apparatus for detecting inputinformation, comprising: a sensor package measuring a first velocity, anacceleration, and an angular velocity of the 3D input apparatus in arelative body coordinate system; a posture information generating unitgenerating posture information of the 3D input apparatus using themeasured acceleration and angular velocity; a velocity transformationunit transforming the measured first velocity into a second velocity inan absolute coordinate system using the posture information; and aposition restoration unit determining a position of the 3D inputapparatus by integrating the second velocity.
 2. The apparatus of claim1, wherein the velocity transformation unit generates a direction cosinematrix using the posture information, and transforms the first velocityinto the second velocity by using the direction cosine matrix.
 3. Theapparatus of claim 1, wherein the posture information generating unitcomprises: an initial posture information generator generating initialposture information of the 3D input apparatus using an accelerationmeasured while the 3D input apparatus is at rest; and a moving postureinformation generator generating moving posture information of the 3Dinput apparatus using the angular velocity and the initial postureinformation.
 4. The apparatus of claim 1, wherein the sensor packagecomprises a first sensor measuring the first velocity with respect toeach of the three orthogonal axes of the body coordinate system.
 5. Theapparatus of claim 1, wherein the sensor package comprises a secondsensor measuring the acceleration and angular velocity.
 6. The apparatusof claim 1, wherein the body coordinate system is a Cartesian coordinatesystem with one axis directed along a predetermined direction of the 3Dinput apparatus.
 7. The apparatus of claim 6, wherein the predetermineddirection is an axial direction of the 3D input apparatus, and a Z axisof the Cartesian coordinate system is aligned along the predetermineddirection.
 8. A 3D input method for detecting input information,comprising: measuring a first velocity, an acceleration, and an angularvelocity of a 3D input apparatus in a relative body coordinate system;generating posture information of the 3D input apparatus by using themeasured acceleration and angular velocity; transforming the measuredfirst velocity into a second velocity of an absolute coordinate systemusing the posture information; and determining a position of the 3Dinput apparatus by integrating the second velocity.
 9. The method ofclaim 8, wherein the transforming of the first velocity into the secondvelocity comprises: generating a direction cosine matrix using theposture information; and transforming the first velocity into the secondvelocity by using the direction cosine matrix.
 10. The method of claim8, wherein the generating of the posture information comprises:generating initial posture information of the 3D input apparatus usingan acceleration measured while the 3D input apparatus is at rest; andgenerating moving posture information of the 3D input apparatus usingthe angular velocity and the initial posture information.
 11. The methodof claim 8, wherein the measuring of the first velocity comprisesmeasuring a velocity with respect to each of three orthogonal axes ofthe body coordinate system.
 12. The method of claim 8, wherein the bodycoordinate system is a Cartesian coordinate system with one axisdirected along a predetermined direction of the 3D input apparatus. 13.The method of claim 12, wherein the predetermined direction is an axialdirection of the 3D input apparatus, and a Z axis of the Cartesiancoordinate system is aligned along the predetermined direction.
 14. Acomputer readable medium having embodied thereon a computer program forthe method according to any one of claims 8 through 13.